package com.greentreecs.fms.service;

import com.greentreecs.fms.pojo.dto.FeeRelevantTableDTO;
import com.greentreecs.fms.pojo.dto.IncOutcBalanceDTO;

import java.util.List;

/**
 * @author 刀氏春秋
 * @date 2023/11/23
 */
public interface AccountingService {
    /**
     * 读取三个报表：3号（出）、4号（入）和6号表（出入）
     * 日审重点在于对于所有的出账（房金），必须有入账与之对应
     *
     * @param time 报表时间
     */
    List<IncOutcBalanceDTO> checkIncOutcBalance(String time);

    /**
     * 导出所有三个收支平衡统计所需的原始报表（3号、4号和6号表）
     *
     * @param time 报表时间
     * @return 出入明细
     */
    FeeRelevantTableDTO fetchAllOriginTable(String time);

    /**
     * 合并收入支出平衡明细到历史表
     *
     * @param toBeMergedData 待合并明细表
     * @return 合并后历史表
     */
    List<IncOutcBalanceDTO> mergeIncOutcBalToHistory(List<IncOutcBalanceDTO> toBeMergedData);

    /**
     * 删除历史记录明细
     * @param toBeSave 删除后明细表
     * @return 删除后明细表
     */
    List<IncOutcBalanceDTO> deleteHistoryRecBal(List<IncOutcBalanceDTO> toBeSave);
}
